/* 
 * File:   Sign.h
 * Author: Gab'z
 *
 * Created on 4 juin 2012, 09:38
 */

#ifndef SIGN_H
#define	SIGN_H

#include "UnaryOperator.h"

namespace calculator {

    class Sign : public UnaryOperator {
        friend class CommandMap;

    public:

        virtual ~Sign();
        std::string isExecutable() const;
        Sign* clone() const;

        const Number* apply(const Number* n) const throw (ArithmeticException);

    private:
        Sign(const std::string name);
        Sign(const Sign& orig);
    };
}

#endif	/* SIGN_H */

